Challenge #67: Calculate Spatial Angles ~角度の計算~ – Alteryx Weekly Challenge
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
当エントリは『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』の21日目です。
- Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018 - Qiita
- Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018 | シリーズ | Developers.IO
『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』では、Alteryx Communityで公開されているWeekly ChallengeのIntermediate Levelにひたすら1人で挑戦していきます。
今回は角度の計算に挑戦します。
動作環境
当エントリの執筆には、以下の環境を利用しています。
- Windows 10 Pro
- Alteryx Designer 2018.4.4.54346 英語版
Challenge #67: Calculate Spatial Angles
お題
今回挑戦するお題はこちら。
「Input」側のデータはこちら。
「Output」側のデータはこちら。AとBの2つの位置情報から距離と角度を出力しています。
解答の概要
今回作成するワーフクローは以下の通りです。
- 斜辺の出力
- 高さの出力
- 角度の出力
斜辺の出力
Poly-Buildツール(Spatial -> Poly-Build)を使用して、AとBの2つPointデータからLineデータを作成します。Build Method には Sequence Polyline
を選択します。
Spatial Infoツール(Spatial -> Spatial Info)を使用して、2つの地点の緯度経度の情報と距離をマイル単位で出力します。Spatial Object Field には先ほど作成したLineデータを選択し、Item To Output には End Points as X and Y Fields
(エンドポイントの緯度経度の出力)と Length (Miles)
(マイルの出力)を選択します。
これで斜辺を出力できました。
高さの出力
Create Pointsツール(Spatial -> Create Points)を使用して、A地点の経度とB地点の緯度でPointデータを作成します。
Filterツール(Preparation -> Filter)を追加し、「Input」側に用意されているデータと接続します。Filterツールで「Label」列が「B」のデータ(B地点のデータ)のみ抽出します。
Unionツール(Join -> Union)を追加し、Create Pointsツールの出力とFilterツールの T の出力のデータを結合します。「Centroid」列にPointデータが出力されるように設定します。
斜辺の出力と同様に、Poly-BuildツールとSpatial Infoツールを使用して、2つの地点の距離をマイル単位で出力します。これで高さを出力できました。
角度の出力
Joinツール(Join -> Join)を使用して、Create Pointsツールの出力とSpatial Infoツールの出力のデータを接続します。データの結合には Join by Record Position を使用します。
Formulaツール(Prepalation -> Formula)を使用して、「Angle」列をDouble型で作成し、角度を出力します。
式には以下の通り設定しています。
ASIN([Right_LengthMi] / [LengthMi]) * 180 / PI()
Selectツールを使用して、不要な列の削除と名前の編集を行います。
結果を確認して完成です。
最後に
今回はWeekly ChallengeのChallenge #67: Calculate Spatial Anglesに挑戦しました。
明日もお楽しみに!
サンプルワークフローのご案内
クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。